/*
 * estado.cpp
 *
 *  Created on: 20/09/2011
 *      Author: guido
 */

#include "estado.h"




Estado::Estado() {}

void Estado::serializar(char* &bytes, int &tamanyo) {
	tamanyo = this->serialSize();
	bytes = new char[tamanyo];
	Serializador serializador;
	strncpy(bytes, &ESTADO, 1);
	// Asigno 1 a indice para no tomar el caracter identificador
	int indice = 1;
	serializador.serializarInteger(bytes, this->habitacion, indice);
}

int Estado::serialSize() {
	return ( sizeof(ESTADO) + WORD_SIZE );
}

void Estado::deserializar(char *bytes) {
	Serializador serializador;
	// Asigno 1 a indice para no tomar el caracter identificador
	int indice = 1;
	this->habitacion = serializador.deserializarInteger(bytes, indice);
}

void Estado::deserializar(std::string entrada) {
	// Borro el caracter de identidad de objeto y el separador
	entrada.erase(0, 2);
	this->habitacion = atoi(entrada.c_str());
}

int Estado::getNumero() {
	return (this->habitacion);
}

void Estado::responder(TerminalesServer &server) {
	server.responderEstado(this);
}
